#ifndef RIGID_BODY_H
#define RIGID_BODY_H

#include "Game Engine\Header\Body.h"

class RigidBody : public Body
{
public:
	RigidBody();
	~RigidBody();

	void			Init( ID3D10Device* device, btDynamicsWorld* world, std::wstring meshFile,
								ID3D10Effect* fx, ID3D10ShaderResourceView* cubeMap, float mass,
								Physics::Shape = Cube, bool useShadows = true );

	void			Init( ID3D10Device* device, btDynamicsWorld* world, std::vector<std::wstring> meshFiles,
								ID3D10Effect* fx, ID3D10ShaderResourceView* cubeMap, float mass,
								Physics::Shape = Cube, bool useShadows = true );

	void			Strafe( float d );
	void			Walk( float d );

	void			Move( float dt );
	void			Stop();

	D3DXVECTOR3&	GetPosition();
	D3DXVECTOR3&	GetVelocity();

	void			SetPosition( D3DXVECTOR3 pos );
	void			SetVelocity( D3DXVECTOR3 vel );

	void			Draw( D3DXMATRIX& lightViewProj );

};

#endif